package com.ruoyi.production.service.impl.stroma;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.production.mapper.stroma.StromaAmountMapper;
import com.ruoyi.production.domain.stroma.StromaAmount;
import com.ruoyi.production.service.stroma.IStromaAmountService;

/**
 * 基质量Service业务层处理
 *
 * @author ruoyi
 * @date 2021-07-12
 */
@Service
public class StromaAmountServiceImpl implements IStromaAmountService
{
    @Autowired
    private StromaAmountMapper stromaAmountMapper;

    /**
     * 查询基质量
     *
     * @param stromaAmountId 基质量ID
     * @return 基质量
     */
    @Override
    public StromaAmount selectStromaAmountById(Long stromaAmountId)
    {
        return stromaAmountMapper.selectStromaAmountById(stromaAmountId);
    }

    /**
     * 查询基质量列表
     *
     * @param stromaAmount 基质量
     * @return 基质量
     */
    @Override
    public List<StromaAmount> selectStromaAmountList(StromaAmount stromaAmount)
    {
        return stromaAmountMapper.selectStromaAmountList(stromaAmount);
    }

    /**
     * 新增基质量
     *
     * @param stromaAmount 基质量
     * @return 结果
     */
    @Override
    public int insertStromaAmount(StromaAmount stromaAmount)
    {
        stromaAmount.setCreateTime(DateUtils.getNowDate());
        //        向已有的数据直接在原来的基础上添加库存
        int r =stromaAmountMapper.updateStromaAmount1(stromaAmount);
        if(r==0) {
            //        若原来的上面没有，则新加数据
            return stromaAmountMapper.insertStromaAmount(stromaAmount);
        }
        return 1;
    }

    /**
     * 修改基质量
     *
     * @param stromaAmount 基质量
     * @return 结果
     */
    @Override
    public int updateStromaAmount(StromaAmount stromaAmount)
    {
        stromaAmount.setUpdateTime(DateUtils.getNowDate());
        //        删除这条数据，将这条数据当作新数据处理
        stromaAmountMapper.deleteStromaAmountById(stromaAmount.getStromaAmountId());
        //        若原来已有的数据，则向已有的数据直接在原来的基础上添加库存
        int r =stromaAmountMapper.updateStromaAmount1(stromaAmount);
        if(r==0){
            //        若原来的上面没有，则当作新数据插入
            return stromaAmountMapper.insertStromaAmount(stromaAmount);
        }
        return 1;
    }

    /**
     * 批量删除基质量
     *
     * @param stromaAmountIds 需要删除的基质量ID
     * @return 结果
     */
    @Override
    public int deleteStromaAmountByIds(Long[] stromaAmountIds)
    {
        return stromaAmountMapper.deleteStromaAmountByIds(stromaAmountIds);
    }

    /**
     * 删除基质量信息
     *
     * @param stromaAmountId 基质量ID
     * @return 结果
     */
    @Override
    public int deleteStromaAmountById(Long stromaAmountId)
    {
        return stromaAmountMapper.deleteStromaAmountById(stromaAmountId);
    }
}
